/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.siteproduct.entity;

import org.hibernate.validator.constraints.Length;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 产品生成Entity
 * @author thinkgem
 * @version 2017-08-07
 */
public class SiteProduct extends DataEntity<SiteProduct> {
	
	private static final long serialVersionUID = 1L;
	private Integer productId;		// 产品分类 活期(10001)  定期(7日标20007,28日标20028,56日标20056,)
	private String type;		// 1:活期，2:定期，3:体验标
	private String sort;		// 排序
	private String productName;		// 产品分类名称
	private String provider;		// 产品提供方名称
	private String info;		// 备注
	private String title;		// 产品简介
	private String creator;		// 创建者（后台用户）
	private String createTime;		// 创建时间
	private String updator;		// 修改人ID
	private String updateTime;		// 修改时间
	private String totalAmount;		// 总额
	private String balance;		// 可购余额
	private String minAmount;		// 起投金额
	private String maxAmount;		// 投资总上线
	private String minRedeem;		// 单笔最小转出
	private String maxRedeem;		// 单笔最大转出
	private String maxMonthly;		// 单月最大转出
	private String maxDaily;		// 单日最大转出
	private String maxNumber;		// 每月最大转出次数
	private String stepAmount;		// 投标递增金额
	private String rate;		// 年化收益
	private String addRate;		// 平台加息
	private String compoundRate;		// 复利利率
	private String productTime;		// 项目周期-天
	private String term;		// 项目周期（按月）  1:0-1个月，3:1-3个月
	private String agreementUrl;		// 合同模板路径
	private String riskLetterUrl;		// 风险提示函路径
	private String riskLevel;		// 购买时要求最低风险评级级别
	private String stauts;		// 状态：1售卖，0停售
	private String isCoupon;		// 能否使用加息劵 1可以，0不可以
	private String lockPeriod;		// 购买锁定期：天
	private String isPacket;		// 能否使用红包  1:可以 2不能
	private String interestType;		// 计息方式：0:T+0,1:t+1,2:t+2
	private String remark2;		// 备用字段
	
	public SiteProduct() {
		super();
	}

	public SiteProduct(String id){
		super(id);
	}

	public Integer getProductId() {
		return productId;
	}

	public void setProductId(Integer productId) {
		this.productId = productId;
	}
	
	@Length(min=0, max=1, message="1:活期，2:定期，3:体验标长度必须介于 0 和 1 之间")
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	
	@Length(min=0, max=2, message="排序长度必须介于 0 和 2 之间")
	public String getSort() {
		return sort;
	}

	public void setSort(String sort) {
		this.sort = sort;
	}
	
	@Length(min=0, max=50, message="产品分类名称长度必须介于 0 和 50 之间")
	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}
	
	@Length(min=0, max=100, message="产品提供方名称长度必须介于 0 和 100 之间")
	public String getProvider() {
		return provider;
	}

	public void setProvider(String provider) {
		this.provider = provider;
	}
	
	@Length(min=0, max=500, message="备注长度必须介于 0 和 500 之间")
	public String getInfo() {
		return info;
	}

	public void setInfo(String info) {
		this.info = info;
	}
	
	@Length(min=0, max=500, message="产品简介长度必须介于 0 和 500 之间")
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
	
	@Length(min=0, max=7, message="创建者（后台用户）长度必须介于 0 和 7 之间")
	public String getCreator() {
		return creator;
	}

	public void setCreator(String creator) {
		this.creator = creator;
	}
	
	@Length(min=0, max=20, message="创建时间长度必须介于 0 和 20 之间")
	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}
	
	@Length(min=0, max=7, message="修改人ID长度必须介于 0 和 7 之间")
	public String getUpdator() {
		return updator;
	}

	public void setUpdator(String updator) {
		this.updator = updator;
	}
	
	@Length(min=0, max=20, message="修改时间长度必须介于 0 和 20 之间")
	public String getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(String updateTime) {
		this.updateTime = updateTime;
	}
	
	public String getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(String totalAmount) {
		this.totalAmount = totalAmount;
	}
	
	public String getBalance() {
		return balance;
	}

	public void setBalance(String balance) {
		this.balance = balance;
	}
	
	public String getMinAmount() {
		return minAmount;
	}

	public void setMinAmount(String minAmount) {
		this.minAmount = minAmount;
	}
	
	public String getMaxAmount() {
		return maxAmount;
	}

	public void setMaxAmount(String maxAmount) {
		this.maxAmount = maxAmount;
	}
	
	public String getMinRedeem() {
		return minRedeem;
	}

	public void setMinRedeem(String minRedeem) {
		this.minRedeem = minRedeem;
	}
	
	public String getMaxRedeem() {
		return maxRedeem;
	}

	public void setMaxRedeem(String maxRedeem) {
		this.maxRedeem = maxRedeem;
	}
	
	public String getMaxMonthly() {
		return maxMonthly;
	}

	public void setMaxMonthly(String maxMonthly) {
		this.maxMonthly = maxMonthly;
	}
	
	public String getMaxDaily() {
		return maxDaily;
	}

	public void setMaxDaily(String maxDaily) {
		this.maxDaily = maxDaily;
	}
	
	@Length(min=0, max=1, message="每月最大转出次数长度必须介于 0 和 1 之间")
	public String getMaxNumber() {
		return maxNumber;
	}

	public void setMaxNumber(String maxNumber) {
		this.maxNumber = maxNumber;
	}
	
	public String getStepAmount() {
		return stepAmount;
	}

	public void setStepAmount(String stepAmount) {
		this.stepAmount = stepAmount;
	}
	
	public String getRate() {
		return rate;
	}

	public void setRate(String rate) {
		this.rate = rate;
	}
	
	public String getAddRate() {
		return addRate;
	}

	public void setAddRate(String addRate) {
		this.addRate = addRate;
	}
	
	public String getCompoundRate() {
		return compoundRate;
	}

	public void setCompoundRate(String compoundRate) {
		this.compoundRate = compoundRate;
	}
	
	@Length(min=0, max=6, message="项目周期-天长度必须介于 0 和 6 之间")
	public String getProductTime() {
		return productTime;
	}

	public void setProductTime(String productTime) {
		this.productTime = productTime;
	}
	
	@Length(min=0, max=2, message="项目周期（按月）  1:0-1个月，3:1-3个月长度必须介于 0 和 2 之间")
	public String getTerm() {
		return term;
	}

	public void setTerm(String term) {
		this.term = term;
	}
	
	@Length(min=0, max=200, message="合同模板路径长度必须介于 0 和 200 之间")
	public String getAgreementUrl() {
		return agreementUrl;
	}

	public void setAgreementUrl(String agreementUrl) {
		this.agreementUrl = agreementUrl;
	}
	
	@Length(min=0, max=200, message="风险提示函路径长度必须介于 0 和 200 之间")
	public String getRiskLetterUrl() {
		return riskLetterUrl;
	}

	public void setRiskLetterUrl(String riskLetterUrl) {
		this.riskLetterUrl = riskLetterUrl;
	}
	
	@Length(min=0, max=1, message="购买时要求最低风险评级级别长度必须介于 0 和 1 之间")
	public String getRiskLevel() {
		return riskLevel;
	}

	public void setRiskLevel(String riskLevel) {
		this.riskLevel = riskLevel;
	}
	
	@Length(min=0, max=1, message="状态：1售卖，0停售长度必须介于 0 和 1 之间")
	public String getStauts() {
		return stauts;
	}

	public void setStauts(String stauts) {
		this.stauts = stauts;
	}
	
	@Length(min=0, max=1, message="能否使用加息劵 1可以，0不可以长度必须介于 0 和 1 之间")
	public String getIsCoupon() {
		return isCoupon;
	}

	public void setIsCoupon(String isCoupon) {
		this.isCoupon = isCoupon;
	}
	
	@Length(min=0, max=6, message="购买锁定期：天长度必须介于 0 和 6 之间")
	public String getLockPeriod() {
		return lockPeriod;
	}

	public void setLockPeriod(String lockPeriod) {
		this.lockPeriod = lockPeriod;
	}
	
	@Length(min=0, max=1, message="能否使用红包  1:可以 2不能长度必须介于 0 和 1 之间")
	public String getIsPacket() {
		return isPacket;
	}

	public void setIsPacket(String isPacket) {
		this.isPacket = isPacket;
	}
	
	@Length(min=0, max=1, message="计息方式：0:T+0,1:t+1,2:t+2长度必须介于 0 和 1 之间")
	public String getInterestType() {
		return interestType;
	}

	public void setInterestType(String interestType) {
		this.interestType = interestType;
	}
	
	@Length(min=0, max=100, message="备用字段长度必须介于 0 和 100 之间")
	public String getRemark2() {
		return remark2;
	}

	public void setRemark2(String remark2) {
		this.remark2 = remark2;
	}
	
}